/**
 * 获取token，并保存到本地，实现持久化
 */
import axios from 'axios'
import store from '@/store/index'

// 设置接口的公共部分
axios.defaults.baseURL = 'http://apis.imooc.com/api/'
const icode = '540164FDA60035F5' // 这是慕课网的跨域编码

//请求拦截,在这里，我们设置请求参数，已经请求头等
axios.interceptors.request.use(config => {
    store.commit('setError',{status:false,message:''}) // 每次请求前，都需要先清除错误状态
    if (config.method == 'get') {
        config.params = {...config.params,icode: icode}
    } else if (config.data instanceof FormData) { //如果是上传文件，添加到 FormData 中
        config.data.append('icode', icode)
    } else {
        config.data = {...config.data,icode: icode} 
    }
   
    store.commit('setLoading',true)
    return config
})

axios.interceptors.response.use(config => {
    store.commit('setLoading',false)
    return config
},e => {
    const {error} = e.response.data
    store.commit('setError',{status:true,message:error})
    store.commit('setLoading',false)
    return Promise.reject(error)
    
})
export default axios